#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int N=20010;
int n;
int a[N],b[N];

int pos=0;
int disc[N*2];
int dp[N*2];
int find(int x)
{
	int l=1,r=pos;
	while(l<r)
	{
		int mid=(l+r)/2;
		if(disc[mid]>=x)
		{
			r=mid;
		}
		else
		{
			l=mid+1;
		}
	}
	return l;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>b[i];
		disc[++pos]=a[i];
		disc[++pos]=b[i];
	}
	sort(disc+1,disc+1+pos);
	pos=unique(disc+1,disc+1+pos)-(disc+1);

	for(int i=1;i<=n;i++)
	{
		int l=find(a[i]),r=find(b[i]);
		dp[l]++,dp[r]--;
	}
	for(int i=1;i<=pos;i++)
	{
		dp[i]+=dp[i-1];
	}
	int ret=0;
	for(int i=1;i<=pos;i++)
	{
		if(dp[i]<=0) continue;
		int r=i;
		while(r<=pos&&dp[r]>0)
		{
			r++;
		}
		ret+=disc[r]-disc[i];
		i=r;
	}
	cout<<ret<<endl;
}